/*
 * LogoDrawController.h
 *
 *  Created on: Dec 17, 2011
 *      Author: rudi
 */

#ifndef LOGODRAWCONTROLLER_H_
#define LOGODRAWCONTROLLER_H_
#include <wx/wx.h>
#include "StaticDrawController.h"

class MainPanel;

/**
 * Helper class to draw the logo on the window
 *
 * @see StaticDrawController
 * @author Rudolf Heszele heszele@gmail.com
 * @version 1.0
 * @since 2012-03-08
 */
class LogoDrawController: public StaticDrawController
{
	public:
		/**
		 * The default constructor can take two parameters at the beginning of the game
		 *
		 * The optionally arguments are taken only when the application is started, because in this case the MainPanel can not be reached through
		 * the wxGetApp method, since the window itself is not constructed yet by the wxWidgets, and the cache needs to be reset before repainting
		 * @param mainPanel If not null it is used to trigger a refresh
		 * @param resetCache If true the cached configuration parameters are cleared before drawing
		 */
		LogoDrawController(MainPanel* mainPanel = NULL, bool resetCache = false);
		virtual ~LogoDrawController();
};

#endif /* LOGODRAWCONTROLLER_H_ */
